package com.fcscs.cservice.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fcscs.core.domain.HistoricalEntity;
import com.fcscs.cservice.common.CServiceCommonEnums.OrderStatus;
import com.fcscs.share.common.ShareEnums.WSSource;

public class InRoomOrder extends HistoricalEntity {

	private static final long serialVersionUID = 1L;

	private long guestProfileId;
	private long reservationId;
	private BigDecimal amount;
	private long billOptionId;
	private String billOption;
	private String deliverTo;
	private String deliverLocation;
	private Date deliveryTime;
	private Date requestedDeliveryTime;
	private String orderNumber; /* reserved for something like confirmationNo */
	private OrderStatus statusEnum;
	private WSSource source;

	@Override
	public DBLoc getDBLoc() {
		return DBLoc.GUEST;
	}

	public BigDecimal getAmount() {
		return amount;
	}

	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	public long getBillOptionId() {
		return billOptionId;
	}

	public void setBillOptionId(long billOptionId) {
		this.billOptionId = billOptionId;
	}

	public String getBillOption() {
		return billOption;
	}

	public void setBillOption(String billOption) {
		this.billOption = billOption;
	}

	public String getDeliverTo() {
		return deliverTo;
	}

	public void setDeliverTo(String deliverTo) {
		this.deliverTo = deliverTo;
	}

	public String getDeliverLocation() {
		return deliverLocation;
	}

	public void setDeliverLocation(String deliverLocation) {
		this.deliverLocation = deliverLocation;
	}

	public Date getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Date deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public void setRequestedDeliveryTime(Date requestedDeliveryTime) {
		this.requestedDeliveryTime = requestedDeliveryTime;
	}

	public Date getRequestedDeliveryTime() {
		return requestedDeliveryTime;
	}

	public void setOrderNumber(String orderNumber) {
		this.orderNumber = orderNumber;
	}

	public String getOrderNumber() {
		return orderNumber;
	}

	public String getStatus() {
		return this.statusEnum == null ? null : this.statusEnum.toString();
	}

	public void setStatus(String status) {
		this.statusEnum = (status == null || "".equals(status.trim())) ? null : OrderStatus.valueOf(status);
	}

	public OrderStatus getStatusEnum() {
		return statusEnum;
	}

	public void setStatusEnum(OrderStatus statusEnum) {
		this.statusEnum = statusEnum;
	}

	public long getGuestProfileId() {
		return guestProfileId;
	}

	public void setGuestProfileId(long guestProfileId) {
		this.guestProfileId = guestProfileId;
	}

	public long getReservationId() {
		return reservationId;
	}

	public void setReservationId(long reservationId) {
		this.reservationId = reservationId;
	}
	
	public WSSource getSourceEnum() {
		return source;
	}
	
	public void setSourceEnum(WSSource source) {
		this.source = source;
	}
	
	public String getSource() {
		return source == null ? null : source.toString();
	}
	
	public void setSource(String source) {
		this.source = source == null ? null : WSSource.valueOf(source);
	}
}
